//package com.pfzy.ui.activity.dragsort;
//
//public class ItemDraggableActivity extends AppCompatActivity implements BaseQuickAdapter.OnItemChildClickListener, View.OnClickListener {
//    private final GridLayoutManager manager = new GridLayoutManager(this, 3);
//    private final ItemDraggableAdapter adapter = new ItemDraggableAdapter(R.layout.item_draggable_item, new ArrayList<>());
//
//    /**
//     * 震动时长(毫秒)
//     */
//    private final int milliseconds = 50;
//    private Vibrator vibrator;
//    private RecyclerView mTreeListRecy;
//    private TextView mEdit;
//
//    @Override
//    protected void onCreate(@Nullable Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_tree_list);
//
//        //点击音效
//        vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
//        mTreeListRecy = findViewById(R.id.mTreeListRecy);
//        mEdit = findViewById(R.id.mEdit);
//        mEdit.setOnClickListener(this);
//
//        mTreeListRecy.setLayoutManager(manager);
//        mTreeListRecy.setAdapter(adapter);
//
//        DragAndSwipeCallback itemDragAndSwipeCallback = new DragAndSwipeCallback(adapter);
//        ItemTouchHelper itemTouchHelper = new ItemTouchHelper(itemDragAndSwipeCallback);
//        itemTouchHelper.attachToRecyclerView(mTreeListRecy);
//        //可以不用设置,可以拖拽的方向，默认上下左右
//        itemDragAndSwipeCallback.setDragMoveFlags(ItemTouchHelper.UP | ItemTouchHelper.DOWN | ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT);
//
////         开启拖拽 设置可拖拽item的根布局id
//        adapter.enableDragItem(itemTouchHelper, R.id.mItemDraggableItemLin, true);
//        adapter.setOnItemDragListener(onItemDragListener);
//
//
//        // 开启滑动删除
////        adapter.enableSwipeItem();
////        adapter.setOnItemSwipeListener(onItemSwipeListener);
//
//        adapter.setOnItemChildClickListener(this);
//
//        List<ItemDraggableBean> list = new ArrayList<>();
//        for (int i = 0; i < 10; i++) {
//            ItemDraggableBean bean = new ItemDraggableBean();
//            bean.setName("数据" + i);
//            list.add(bean);
//        }
//        adapter.addData(list);
//    }
//
//    /**
//     * 拖拽监听
//     */
//    private OnItemDragListener onItemDragListener = new OnItemDragListener() {
//        @Override
//        public void onItemDragStart(RecyclerView.ViewHolder viewHolder, int pos) {
//            Log.e("TAG1231", "onItemDragStart" + "你在拖拽第" + (pos + 1) + "个位置的item哦！");
//            //震动
//            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//                vibrator.vibrate(VibrationEffect.createOneShot(milliseconds, VibrationEffect.DEFAULT_AMPLITUDE));
//            } else {
//                vibrator.vibrate(milliseconds);
//            }
//
//            //按住变大
//            viewHolder.itemView.setScaleX(1.2f);
//            viewHolder.itemView.setScaleY(1.2f);
//            viewHolder.itemView.setAlpha(0.5f);
//
//            //改变数据状态
//            ItemDraggableBean draggableBean = adapter.getData().get(pos);
//            if (!draggableBean.isShow()) {
//                List<ItemDraggableBean> data = adapter.getData();
//                for (ItemDraggableBean bean : data) {
//                    bean.setShow(true);
//                }
//
//                //循环遍历出所有的item布局 并显示图片
//                //注意不可以直接使用 adapter.notifyDataSetChanged();数据刷新会导致直接调用onItemDragEnd()方法
//                for (int i = 0; i < mTreeListRecy.getChildCount(); i++) {
//                    View childAt = mTreeListRecy.getChildAt(i);
//                    TextView textView = childAt.findViewById(R.id.mItemDraggableItemText);
//                    View view = childAt.findViewById(R.id.mItemDraggableItemImg);
//                    view.setVisibility(View.VISIBLE);
//                    Log.e("TAG1231", "textView:" + textView.getText().toString());
//                }
//
//                mEdit.setText("完成");
//            }
//
//        }
//
//        @Override
//        public void onItemDragMoving(RecyclerView.ViewHolder source, int from, RecyclerView.ViewHolder target, int to) {
//            Log.e("TAG1231", "onItemDragMoving");
//        }
//
//        @Override
//        public void onItemDragEnd(RecyclerView.ViewHolder viewHolder, int pos) {
//            Log.e("TAG1231", "onItemDragEnd" + "拖拽到了第" + (pos + 1) + "个位置哦！");
//            //变回原来大小
//            viewHolder.itemView.setScaleX(1.0f);
//            viewHolder.itemView.setScaleY(1.0f);
//            viewHolder.itemView.setAlpha(1.0f);
//        }
//    };
//
//    OnItemSwipeListener onItemSwipeListener = new OnItemSwipeListener() {
//        @Override
//        public void onItemSwipeStart(RecyclerView.ViewHolder viewHolder, int pos) {
//            ToastUtil.getInstance().showToast("继续向左滑动即可删除第" + (pos + 1) + "个位置的item");
//        }
//
//        @Override
//        public void clearView(RecyclerView.ViewHolder viewHolder, int pos) {
//
//        }
//
//        @Override
//        public void onItemSwiped(RecyclerView.ViewHolder viewHolder, int pos) {
//            ToastUtil.getInstance().showToast("删除了第" + (pos + 1) + "个位置的item哦");
//        }
//
//        @Override
//        public void onItemSwipeMoving(Canvas canvas, RecyclerView.ViewHolder viewHolder, float dX, float dY, boolean isCurrentlyActive) {
//
//        }
//    };
//
//    @Override
//    public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
//        adapter.remove(position);
//    }
//
//    @Override
//    public void onClick(View v) {
//        switch (v.getId()) {
//            case R.id.mEdit:
//                boolean isEdit = "编辑".equals(mEdit.getText().toString());
//                List<ItemDraggableBean> data = adapter.getData();
//                for (ItemDraggableBean bean : data) {
//                    bean.setShow(isEdit);
//                }
//                adapter.notifyDataSetChanged();
//                mEdit.setText(isEdit ? "完成" : "编辑");
//                break;
//            default:
//                break;
//        }
//    }
//
//}